In general a print job is a transitory task that provides limited feedback, has little memory of the actual print process, and has limited options in terms of security. For example, take the case of a highly classified document that is created on the east coast and must be sent to a DOD contractor on the west coast. Emailing such a document to the east coast for printing (or viewing) would be extremely dangerous from a security standpoint. Other, more expensive techniques would need to be employed to transfer the knowledge. In addition to emailing the document, let's say that we want to place security restrictions on printing, limit the document size to be printed, keep an exact record of (or even limit) how many times it is printed, and provide an extensive interface to the print process. These are all problems that can be solved in today's world by employing a variety of complex techniques. What would be more desirable is a unified printing architecture that simplifies this type of document management.
The Java 2 Platform, Enterprise Edition™ (J2EE) defines the standard for developing multi-tier enterprise applications. Java™, JavaBeans™ JavaServlets™, and Enterprise JavaBeans™ (EJBs) as used herein are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. The J2EE platform simplifies enterprise applications by basing them on standardized, modular components, by providing a complete set of services to those components, and by handling many details of application behavior automatically, without complex programming. The J2EE platform adds full support for Enterprise JavaBeans™ components, JavaServlets™ application program interface (API), JavaServer™ Pages and XML technology. The J2EE standard includes complete specifications and compliance tests to ensure portability of applications across the wide range of existing enterprise systems capable of supporting the J2EE platform. In addition, the J2EE specifications now ensure Web services interoperability through support for the WS-I Basic Profile.
J2EE is designed to support applications that implement enterprise services for customers, employees, suppliers, partners, and others who make demands on or contributions to the enterprise. Such applications are inherently complex, potentially accessing data from a variety of sources and distributing applications to a variety of clients. To better control and manage these applications, the business functions to support these various users are conducted in the middle tier. The middle tier represents an environment that is closely controlled by an enterprise's information technology department. The middle tier is typically run on dedicated server hardware and has access to the full services of the enterprise. J2EE applications often rely on the EIS-Tier to store the enterprise's business-critical data. This data and the systems that manage it are at the inner-core of the enterprise.
The present inventor has found that with the advent of the J2EE architecture it is now possible to harness the Java™ and J2EE API to provide an even more powerful and more secure printing environment. The present inventor has created an improvement to the EJB API that enables all of the J2EE capabilities found on standard EJBs to be applied to print jobs. In addition, the present inventor provides a new Java™ API that provides a more powerful page description language than that found in Postscript®.